home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1998 #4 / Amiga Plus CD - 1998 - No. 4.iso / pd / musik / qmaster / registrate < prev    next >
Text File  |  1998-02-04  |  5KB  |  189 lines

  1. /*
  2.  
  3.     Arexx script to simplify registration of QMASTER.
  4.  
  5.     Start it from icon in QMaster directory.
  6.  
  7.     Copyright © 1998 by Kenneth C. Nilsen/Digital Surface
  8.  
  9. */
  10.  
  11.  
  12. options results
  13.  
  14. if ~show('p', 'QMASTER') then do
  15.     address command "run >nil: QMaster"
  16.     address command 'waitforport QMASTER'
  17.     address command 'waitforport QMASTER'
  18.     end
  19.  
  20. signal on error
  21.  
  22. lf='0a'x
  23.  
  24. address "QMASTER"
  25.  
  26. EmailSystem=4
  27.  
  28. do while(EmailSystem=4)
  29.     Request "'QMASTER REGISTRY'" '"\nWelcome to QMaster registration!\n\nPlease read the docs (Read Guide) for info on prices.\n\n\nHow would you like to registrate ?\n"' "'THOR|YAM|TEXTFILE|Read Guide|Cancel'"
  30.     EmailSystem=result;if EmailSystem=4 then call ShowGuide
  31.     end
  32.  
  33.     if EmailSystem=0 then exit
  34.  
  35.     Request "'QMASTER REGISTRY'" '"\nHow do you want to pay ?\n"' "'CASH|MONEY ORDER|INT. CHEQUE|Cancel'"
  36.     PayMethode=result
  37.  
  38.     If PayMethode=0 then exit
  39.  
  40.     GetString "'QMASTER REGISTRY'" '"\nPlease enter your (real) name:\n"'
  41.     MyName=result
  42.  
  43.     if MyName="" then exit
  44.  
  45.     GetString "'QMASTER REGISTRY'" '"\nPlease enter your address, state and country:\n\nSeperate with commas, f.ex:\n\nSkinstadgaarden,3370 Vikersund,NORWAY"'
  46.     State=result
  47.  
  48.     if state="" then exit
  49.  
  50.     if EmailSystem=1 then methode=" an event in Thor "
  51.     if EmailSystem=2 then methode=" an event in YAM "
  52.     if EmailSystem=3 then methode=" a text file "
  53.  
  54.     count=0
  55.     call sepadd
  56.  
  57.     Info=MyName||lf
  58.     do i=1 to count
  59.         Info=Info||address.i||lf;end
  60.  
  61.     if PayMethode=1 then pm="cash"
  62.     if PayMethode=2 then pm="money order"
  63.     if PayMethode=3 then pm="international cheque"
  64.  
  65.     Request "'QMASTER REGISTRY'" '"\nThank you!\n\nI will now try to create'methode'containing\nthe info you provided - I have the following info:\n\n'Info'\nPayment: 'pm'\n"' "OK|Cancel"
  66.     if result=0 then exit
  67.  
  68.     if EmailSystem=1 then call MakeThor
  69.     if EmailSystem=2 then call MakeYAM
  70.     if EmailSystem=3 then call MakeText
  71.  
  72.     address "QMASTER"
  73.  
  74.     if result=0 then Request "'QMASTER REGISTRY'" '"\nI am done!\n\nYou may send the event/text to author\nand it will processed as soon as possible!\n\nThank you for supporting development!\n"' "OK"
  75.         else Request "'QMASTER REGISTRY'" '"\nERROR !\n\nSomething went wrong during event creation!\n"' "OK"
  76.  
  77.     exit 0
  78.  
  79.  
  80. error:    say QMASTER.LASTERROR" ("SIGL")"
  81.     exit
  82.  
  83. sepadd:    sep=-1
  84.  
  85.     do while(sep~=0)
  86.         sep=pos(",",state)
  87.         if sep=0 then leave
  88.         count=count+1
  89.         address.count=left(state,sep-1)
  90.         state=right(state,length(state)-sep)
  91.         end
  92.  
  93.     count=count+1
  94.     address.count=state
  95.     return 0
  96.  
  97. /* subs to create events */
  98.  
  99. MakeThor:
  100.  
  101.     if ~show('p', 'BBSREAD') then do
  102.         address command
  103.         "run >nil: `GetEnv THOR/THORPath`bin/LoadBBSRead"
  104.         "WaitForPort BBSREAD"
  105.         end
  106.  
  107.     if ~show('p', 'BBSREAD') then return 5
  108.  
  109.     address "QMASTER"
  110.  
  111.     GetString "'QMaster registry for Thor'" "'\nWhat is the name of your\nEmail SYSTEM in THOR ?\n'"
  112.     bbs = result
  113.  
  114.     GetString "'QMaster registry for Thor'" "'\nWhat is the name of your\nEmail CONFERENCE in `"bbs"` ?\n'"
  115.     conf = result
  116.  
  117.     address BBSREAD
  118.  
  119.     UNIQUEMSGFILE bbsname '"'bbs'"' stem UFILE
  120.     if(rc~=0) then return 5
  121.  
  122.     if(~open(fh,UFILE.NAME,w)) then return 5
  123.         call writeln(fh,lf"QMASTER REGISTRATION"lf)
  124.         call writeln(fh,info||lf)
  125.         call writeln(fh,"Pay methode: "pm)
  126.         call close(fh)
  127.  
  128.     EVENT.SUBJECT     = 'QMASTER AUTO REGISTRATION'
  129.     EVENT.TONAME     = 'Kenny Nilsen'
  130.     EVENT.TOADDR     = 'kenny@bgnett.no'
  131.     EVENT.CONFERENCE = conf
  132.     EVENT.MSGFILE     = UFILE.NAME
  133.  
  134.     WRITEBREVENT bbsname '"'bbs'"' event 0 stem EVENT
  135.     if(rc~=0) then goto quit
  136.  
  137.     return 0
  138.  
  139. MakeYam:
  140.  
  141.     if ~show('P','YAM') then do
  142.         address command 'run >nil: yam:yam nocheck'
  143.         address command 'sys:rexxc/WaitForPort YAM'
  144.         end
  145.  
  146.     if ~show('P','YAM') then return 5
  147.  
  148.     file="yam:outgoing/QMASTER.reg"
  149.  
  150.     if ~open(fh,file,w) then return 5
  151.         call writeln(fh,lf"QMASTER REGISTRATION"lf)
  152.         call writeln(fh,info||lf)
  153.         call writeln(fh,"Pay methode: "pm||lf)
  154.         call close(fh)
  155.  
  156.     address YAM
  157.  
  158.     MailWrite
  159.     WriteMailTo '"kenny@bgnett.no (Kenny Nilsen)"'
  160.     WriteSubject '"QMASTER AUTO REGISTRATION"'
  161.     WriteLetter '"'file'"'
  162.     WriteQueue
  163.     exit
  164.  
  165.     return 0
  166.  
  167. MakeText:
  168.     GetFile "'QMASTER - Save registry text as:'" "ram:" "QMASTER.reg"
  169.     file=result
  170.  
  171.     if file="" then return 0
  172.  
  173.     if ~open(fh,file,w) then return 5
  174.  
  175.     call writeln(fh,lf"QMASTER REGISTRATION"lf)
  176.     call writeln(fh,info||lf)
  177.     call writeln(fh,"Pay methode: "pm||lf)
  178.     call writeln(fh,"Send text file to:"lf)
  179.     call writeln(fh,"Kenneth Chr. Nilsen"lf"Skinstadgaarden"lf"3370 Vikersund"lf"NORWAY"lf)
  180.     call close(fh)
  181.  
  182.     say "File saved as "file
  183.  
  184.     return 0
  185.  
  186. ShowGuide:
  187.     address command "run >nil: sys:Utilities/AmigaGuide >nil: docs/QMaster.guide document SHAREWARE"
  188.     return 0
  189.